Single Assignment C { Functional Programming Using Imperative Style
نویسنده
چکیده
This paper proposes a new functional programming language called Sac (Single Assignment C) which tries to combine the best of two worlds: the eeciency and portability of C (or Fortran) and the concurrency deducable from the functional paradigm. The major objectives in the design of Sac comprise support for high performance concurrent scien-tiic applications (number crunching), a module concept which allows for the integration of non-funtional components, and a syntax as close as possible to C.
منابع مشابه
An Executable Representation of Distance and Direction
The dependence ow graph is a novel intermediate representation for optimizing and parallelizing compilers that can be viewed as an executable representation of program dependences. The execution model, called dependencedriven execution, is a generalization of the tagged-token data ow model that permits imperative updates to memory. The dependence ow graph subsumes other representations such as ...
متن کاملStatic single information from a functional perspective
Static single information form is a natural extension of the well-known static single assignment form. It is a program intermediate representation used in optimising compilers for imperative programming languages. In this paper we show how a program expressed in static single information form can be transformed into an equivalent program in functional notation. We also examine the implications ...
متن کاملTeaching C in a Functional Style
The rst introduction to imperative programming for the majority of our students is with C, but fortunately it is preceded by a course on problem solving and program design using the lazy functional language Miranda. C is a diicult language to learn, but by drawing on the skills taught in the Miranda course, notions such as modularity, information hiding, recursion, abstraction, top-down design,...
متن کاملAutomatic Array Alignment for Distributed Memory Multicomputers
Languages such as Fortran D and High Performance Fortran use ex plicit virtual processor arrays Templates or Decompositions to which the programmer explicitly aligns the arrays of the program We explore a technique to automate this process In particular we are interested in imperative languages similar to Fortran and scienti c computations using indexed data structures arrays We have implemente...
متن کاملSingle Assignment C: efficient support for high-level array operations in a functional setting
This paper presents a novel approach for integrating arrays with access time O(1) into functional languages. It introduces n-dimensional arrays combined with a type system that supports hierarchies of array types with varying shape information as well as a shapeinvariant form of array comprehension called with-loop. Together, these constructs allow for a programming style similar to that of arr...
متن کامل